#include<stdio.h>
//第一章课后习题

// int main()
// {
//     //printf("Hello world!\n");// 第四题 return 0;都没加就可以打印
//     // printf("*****\n"
//     //        " *****\n"
//     //        "  *****\n"
//     //        "   *****\n");//第5题
//     int a,b,c;
//     scanf("%d %d %d",&a,&b,&c);
//     if(a>b>c)
//     {
//         printf("%d",a);
//     }else
//     {
//         if(b>c>a){
//             printf("%d",b);
//         else{
//             printf("%d",c);
        
//         }
//     }
//     return 0;
// }以上为自己写的草稿

// int main()
// {
//     int a,b,c;
//     scanf("%d %d %d",&a,&b,&c);
//     if(a>b&&b>c){
//         printf("%d",a);
//     }
//     else if(b>a&&b>c){
//         printf("%d",b);
//     }else{
//         printf("%d",c);
//     }
//     return 0;      //上面这一段为我自己的思路的正确代码
// }

//gpt推荐思路代码
// int main()
// {
//     int a,b,c;
//     scanf("%d %d %d",&a,&b,&c);
//     int max=a;
//     if(b>max){
//         max=b;
//     }
//     if(c>max){
//         max=c;
//     }
//     printf("%d",max);
//     return 0;//这里不打return 0；
//     //也不会报错且能在终端输出最大的数
// }


//第二章课后习题

// 1.有两个瓶子A和B，分别盛放醋和酱油，要求将它们互换（即A瓶原来放醋
//现改盛酱油，B瓶则相反
// int main()
// {
//     // int a="Vingear";  字符串应该用字符数组或指针来存储
//     // int b="Soy sauce";  而不是int类型
//     // int c;
//     // int c=b;
//     // int b=a;
//     // int a=c;
//     // printf("%d\n",a,b);

//     //deepseek 提供代码
//     char *a="Vingear";
//     char *b="Soysauce";
//     char *temp;
//     //交换指针a和b的值
//     temp = a;
//     a=b;
//     b=temp;
//     printf("A:%s\n",a);
//     printf("B:%s\n",b);
//     return 0;
// }

// 2. 依次将十个数输入，要求输出其中最大的数
// int main()
// {
//     //冒泡排序
//     int arr[10]={0};
//     int i=0;
//     while ((i<10))
//     {
//         scanf("%d",&arr[i]);
//         i++;
//     }
//     int max=arr[0];
//     i=1;
//     while (i<10)
//     {
//         if(arr[i]>max){
//             max=arr[i];
//         }
//         i++;
//     }
//     printf("%d\n",max);    
//     return 0;
// }

// 3.有三个数a,b,c要求按大小顺序把他们输出
// int main()
// {
//     int a,b,c;
//     scanf("%d %d %d",&a,&b,&c);
//     if(a>b&&b>c)
//     {
//         printf("%d\n",a);
//     }
//     else if(b>a&&b>c)
//     {
//         printf("%d\n",b);
//     }
//     else
//     {
//         printf("%d\n",c);
//     }
//     return 0;
// }

// 4.求1+2++3+...+100
// My Own Code
// int main()
// {
//     int n=0;
//     int ret=0;
//     for(n=1;n<101;n++)
//     {
//         ret=ret+n;
//     }
//     printf("%d\n",ret);
//     return 0;
// }   可以运行，结果是对滴哦

// // 5.判断一个数n能否同时被3和5整除
// int main()
// {
//     int num;
//     scanf("%d",&num);  //scanf后有空格则终端输入数字后也需有空格
//     if(num%3==0 && num%5==0)
//     {    
//         printf("输入的数:%d 可以被3和5整除",num);
//     }
//     else{
//         printf("输入的数:%d 不可以被3和5整除",num);
//     }
//     return 0;
// }


// 5. 将100-200之间的素数输出
#include<math.h>

    // for(i=100;i<201;i++)
    // {
    //     if(i%2!=0)
    //         printf("%d\n",i);
    // }  此种方法无法实现
    // int x;
    // scanf("%d",&x);
    // int i;
    // int isprime=1;这四行代码是借鉴翁恺C语言笔记本里的判断一个数是否为素数//emm改写难度有点大

    // int isPrime(int num){
    //     for(int i=2;i<=sqrt(num);i++)
    //     {
    //         if(num%i==0) return 0;
    //     }
    //     return 1;
    // }

    // int main()
    // {
    //     for(int i=100;i<=200;i++){
    //         if(isPrime(i)){
    //             printf("%d\n",i);
    //         }
    //     }

    //     return 0;
    // }

void main()
{
    int i,j;
    for(i=101;i<=200;i++)
    {
        j=2;   //这段代码无需用到sqrt和自定义函数
        while(j<=i/2)
        {
            if(i%j==0)
                break;
            else
                j++;
        }
        if(j>i/2)
        printf("%d ",i);
    }
}


 // 7.求两个数m和n之间的最大公约数
//  int gcd(int m,int n){
//         if(n==0){
//             return m;
//         }
//         return gcd(n, m % n);
// }
// int main()
// {
//     int m,n;
//     printf("请输入两个整数 m 和 n :");
//     scanf("%d %d",&m,&n);
//     printf("m 和 n 之间的最大公约数是:%d\n",gcd(m,n));
//     return 0;
// }

// 第三章课后习题
// 1.计算 10 年后 GDP 增长多少倍，给出的公式是：P=(1+r)的n次方
// void main()
// {
//     double r=0.07;
//     int n =10;
//     double P;
//     P=pow(1+r,n);//pow是一个库函数封装在math.h中，计算平方  pow(a,b)即计算a的b次方
//     printf("10年后GDP是现在的 %.2f 倍\n",P); 
// }
//4. 
// void main()
// {
//     int c1,c2;
//     c1=197,c2=198;
//     printf("c1=%c,c2=%c\n",c1,c2); //c1=a,c2=b;
//     printf("c1=%d,c2=%d\n",c1,c2);
// }

// 5.
// void main()
// {
//     int a,b;
//     float x,y;
//     char c1,c2;
//     scanf("a=%db=%d",&a,&b);
//     scanf("%f%e",&x,&b);
//     scanf("%c%c",&c1,&c2);

// }

// 6.

// void main()
// {
//     char c1='C',c2='h',c3='i',c4='n',c5='a';
//     c1+=4;
//     c2+=4;
//     c3+=4;
//     c4+=4;
//     c5+=4;
//     putchar(c1);
//     putchar(c2);
//     putchar(c3);
//     putchar(c4);
//     putchar(c5);
//     //printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
//     return 0;
// }

// 7.
// #define PI 3.1415926
// void main()
// {
//     float r=1.5,h=3;
//     float circumference,area,sphere_area,sphere_volume,cylinder_volume;
//     circumference = 2*PI*r;//圆周长
//     area = PI*r*r; //圆面积   
//     sphere_area = 4*PI*r*r;//圆球表面积   
//     sphere_volume=(4.0/3)*PI*r*r*r;//圆球体积
//     cylinder_volume=PI*r*r*h;//圆柱体体积

//     printf("圆周长:%.2f\n",circumference);
//     printf("圆面积:%.2f\n",area);
//     printf("圆球表面积:%.2f\n",sphere_area);
//     printf("圆球体积:%.2f\n",sphere_volume);
//     printf("圆柱体体积:%.2f\n",cylinder_volume);

// }

// 第六章课后习题
//不用筛选法求100之内的素数
// int isPrime(int num) {
//     // 0 和 1 不是素数
//     if (num <= 1) {
//         return 0;
//     }
//     // 从 2 开始到该数的平方根进行检查
//     for (int i = 2; i <= sqrt(num); i++) {
//         if (num % i == 0) {
//             return 0;
//         }
//     }
//     return 1;
// }

// int main() {
//     // 遍历 2 到 100 的所有数
//     for (int i = 2; i <= 100; i++) {
//         if (isPrime(i)) {
//             // 如果是素数，将其输出
//             printf("%d\n", i);
//         }
//     }
//     return 0;
// }
// 1.筛选法求100之内的素数
// void main()
// {
//     int a[101],i,j;
//     for(i=0;i<101;i++)
//         a[i]=i;
//     a[1]=0; //1不是素数，标记为0
//     for(i=2;i<=99;i++)
//         for(j=i+1;j<=100;j++)
//             if(a[i]!=0&&a[j]!=0)//这行可删吗
//                 if(a[j]%a[i]==0)
//                     a[j]=0;
//     for(i=0;i<=100;i++)
//     {
//         if(a[i]!=0)
//             printf("%d\n",a[i]);
//     }
// }

// 2.用选择法对十个整数排序
// void selectionSort(int arr[],int n){
//     int i,j,minIndex,temp;
//     for(i=0;i<n-1;i++)
//     {   //假设当前元素最小
//         minIndex=i;
//        //内存循环找到未排序部分的最小元素
//         for(j=i+1;j<n;j++)
//         {
//             if(arr[j]<arr[minIndex]){
//                 minIndex=j; //更新最小元素的下标
//             }
//         }

//         // 将最小元素与当前元素交换
//         if(minIndex!=i)
//         {
//             temp=arr[i];
//             arr[i]=arr[minIndex];
//             arr[minIndex]=temp;
//         }
//     }
// }

// int main()
// {
//     int arr[10],h;
//     printf("请输入十个数:");
//     for(h=0;h<10;h++)
//     {
//         scanf("%d",&arr[h]);
//     }
//     //scanf("%d %d %d %d %d %d %d %d %d %d",&arr[0],&arr[1],&arr[2],&arr[3],&arr[4],&arr[5],&arr[6],&arr[7],&arr[8],&arr[9]);
//     int n=sizeof(arr) / sizeof(arr[0]);
//     printf("排序前的数组:\n");
//     for(int i=0;i<n;i++)
//     {
//         printf("%d ",arr[i]);
//     }
//     printf("\n");
//     //调用选择排序函数
//     selectionSort(arr,n);
//     printf("排序后的数组: ");
//     for(int i = 0;i < n;i++){
//         printf("%d ",arr[i]);
//     }
//     return 0;
// }

// 3.求一个3×3的整形矩阵对角线元素之和
// void main()
// {
//     int jz[3][3]={
//         {1,2,3},
//         {4,5,6},
//         {7,8,9},
//     };
//     //初始化主对角线和副对角线元素之和
//     int zdjx_sum=0;
//     int fdjx_sum=0;
//     //计算主对角线元素之和
//     for(int i=0;i<3;i++){
//         zdjx_sum += jz[i][i];
//     }
//     //计算副对角线元素之和
//     for(int i=0;i<3;i++){
//         fdjx_sum += jz[i][2-i];
//     }
//     printf("主对角线元素之和为：%d\n",zdjx_sum);
//     printf("副对角线元素之和为：%d\n",fdjx_sum);
// }

// #define ARRAY_SIZE 10
// int main(){
//     int arr[ARRAY_SIZE+1]={1,3,5,7,9,11,13,15,17,19};
//     int num ,i,j;
//     printf("请输入一个要插入的数:");
//     scanf("%d",&num);
//     //找到插入位置
//     for(i=0;i<ARRAY_SIZE;i++){
//         if(num<arr[i])
//             break;
//     }
//     // 移动元素，为插入的数腾位置
//     for(j=ARRAY_SIZE;j>i;j--){
//         arr[j]=arr[j-1];
//     }
//     //插入数
//     arr[i]=num;
//     //输出插入后的数组
//     printf("插入后的数组为:");
//     for(i=0;i<=ARRAY_SIZE;i++){
//         printf("%d ",arr[i]);
//     }
//     printf("\n");
//     return 0;
// }